/**
 * KeyMap
 * @Description: 定义了每种类型远程搜索的配置
 * 各目录key不能重复，新增是搜索一下确认没重复（防止覆盖）
 * @parms key select返回的值（默认id）
 * @parms label 回显值字段，也可以是一个function，
 * @parms labelFn 回显input输入框的format函数
 * @parms optionFn 回显值的format函数
 * TODO: 也可以Render函数
 * @parms keyword 关键字，模糊查询的到后端的字段，mode:remote必填
 * @parms api 配置api方法
 * @parms data 其他参数
 * @parms labelProp 自定义展示内容字段
 * @parms labelProp 自定义展示内容字段
 * @mode 组件方式，
 *   <once> (一次加载)
 *   <each> (非全量数据) 默认
 */

const typeMaps = {
  // 默认
  default: {
    key: 'value',
    label: 'label',
  },
}

const configs = import.meta.glob('./*.ts', { eager: true })
for (const key in configs) {
  if (Object.prototype.hasOwnProperty.call(configs, key)) {
    const element = configs[key] as any
    Object.assign(typeMaps, element.default)
  }
}

export default typeMaps
